import 'dart:io';

import 'package:logger/logger.dart';

class Log{

  static void init(String? path){
    if(path == null){
      return;
    }

    Logger logger = Logger(
        level: Level.info,
        filter: ProductionFilter(),
        output: FileOutput(file: File(path)),
        printer: PrettyPrinter(
          methodCount: 0, // 不显示任何方法信息
          errorMethodCount: 8, // 错误时显示的方法调用栈深度
          lineLength: 120, // 单行日志的最大长度
          colors: false, // 启用颜色
          printEmojis: false, // 禁用表情符号
          dateTimeFormat: DateTimeFormat.dateAndTime, // 使用完整的时间戳格式
        )
    );
    _logger = logger;
  }

  // 默认配置
  static Logger _logger = Logger(
    level: Level.info,
    filter: DevelopmentFilter(),
    printer: PrettyPrinter(
      methodCount: 0, // 不显示任何方法信息
      errorMethodCount: 8, // 错误时显示的方法调用栈深度
      lineLength: 120, // 单行日志的最大长度
      colors: true, // 启用颜色
      printEmojis: false, // 禁用表情符号
      dateTimeFormat: DateTimeFormat.dateAndTime, // 使用完整的时间戳格式
    )
  );

  static void i(dynamic message){
    _logger.i(message);
  }

  static void e(dynamic message){
    _logger.e(message);
  }
  static void w(dynamic message){
    _logger.w(message);
  }


}